const { meetingAPI } = require('../../utils/util.js')

Page({
  data: {
    meetingList: [], // 会议列表数据
    searchKey: '', // 搜索关键词
    isLoading: false, // 加载状态
    hasMore: false, // 是否还有更多数据（后端返回所有数据）
  },

  onLoad() {
    this.loadMeetingData();
  },

  // 加载会议数据
  loadMeetingData() {
    if (this.data.isLoading) return;

    this.setData({ isLoading: true });

    const params = {
      currentUserId: 1 // 使用写死的用户ID
    };

    // 添加搜索条件
    if (this.data.searchKey) {
      params.meetingName = this.data.searchKey;
    }

    // 打印请求信息用于调试
    console.log('请求会议参数:', params);
    console.log('请求会议URL:', `${getApp().globalData.apiBaseUrl}/api/meetings/list`);

    meetingAPI.getMeetingList(params)
      .then(res => {
        console.log('会议数据获取成功:', res);
        
        if (res.code === 200) {
          // 转换数据格式以适配前端显示
          const meetingList = res.data.map(meeting => ({
            id: meeting.meetingId,
            title: meeting.meetingName,
            creator: meeting.creatPerson,
            startTime: this.formatDateTime(meeting.startTime),
            endTime: this.formatDateTime(meeting.endTime),
            cover: this.buildImageUrl(meeting.meetingCover),
            content: this.cleanHtmlTags(meeting.meetingContent)
          }));

          this.setData({
            meetingList: meetingList,
            isLoading: false,
            hasMore: false // 后端返回所有数据，不需要分页
          });
        } else {
          console.error('会议API返回错误:', res);
          wx.showToast({
            title: res.message || '获取数据失败',
            icon: 'none'
          });
          this.setData({ isLoading: false });
        }
      })
      .catch(err => {
        console.error('获取会议数据失败:', err);
        console.error('错误详情:', err.message);
        wx.showToast({
          title: '网络请求失败',
          icon: 'none'
        });
        this.setData({ isLoading: false });
      });
  },

  // 格式化日期时间
  formatDateTime(dateTimeStr) {
    if (!dateTimeStr) return '';
    const date = new Date(dateTimeStr);
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0');
    const day = String(date.getDate()).padStart(2, '0');
    const hour = String(date.getHours()).padStart(2, '0');
    const minute = String(date.getMinutes()).padStart(2, '0');
    return `${year}-${month}-${day} ${hour}:${minute}`;
  },

  // 构建图片URL
  buildImageUrl(imageName) {
    if (!imageName) {
      console.log('会议图片名称为空，使用默认图片');
      return 'https://picsum.photos/300/180?random=1'; // 默认图片
    }
    // 如果已经是完整URL，直接返回
    if (imageName.startsWith('http://') || imageName.startsWith('https://')) {
      console.log('会议图片已经是完整URL:', imageName);
      return imageName;
    }
    // 构建完整的图片URL
    const fullUrl = `${getApp().globalData.apiBaseUrl}/images/${imageName}`;
    console.log('构建会议图片URL:', fullUrl);
    return fullUrl;
  },

  // 清理HTML标签
  cleanHtmlTags(htmlContent) {
    if (!htmlContent) return '';
    
    // 移除HTML标签，保留文本内容
    return htmlContent
      .replace(/<p[^>]*>/gi, '') // 移除开始p标签
      .replace(/<\/p>/gi, '\n') // 将结束p标签替换为换行
      .replace(/<br[^>]*>/gi, '\n') // 将br标签替换为换行
      .replace(/<[^>]+>/g, '') // 移除其他所有HTML标签
      .replace(/&nbsp;/g, ' ') // 将&nbsp;替换为空格
      .replace(/&amp;/g, '&') // 将&amp;替换为&
      .replace(/&lt;/g, '<') // 将&lt;替换为<
      .replace(/&gt;/g, '>') // 将&gt;替换为>
      .replace(/&quot;/g, '"') // 将&quot;替换为"
      .trim(); // 去除首尾空格
  },

  // 搜索输入监听
  onSearchInput(e) {
    this.setData({ searchKey: e.detail.value });
  },

  // 执行搜索
  doSearch() {
    this.setData({ meetingList: [] });
    this.loadMeetingData();
  },

  // 会议卡片点击事件
  onMeetingTap(e) {
    const meetingId = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/meetingregist/detail?id=${meetingId}`
    });
  },

  // 下拉刷新
  onPullDownRefresh() {
    this.setData({ meetingList: [] });
    this.loadMeetingData().then(() => {
      wx.stopPullDownRefresh();
    });
  },

  // 用户点击右上角分享
  onShareAppMessage() {
    return {
      title: '测盟汇合作会议',
      path: '/pages/meetingregist/list'
    };
  },

  // // 公益行动跳转
  // onGongyiTap() {
  //   wx.navigateToMiniProgram({
  //     appId: 'wx4a2b2c7b8b6e4b2c', // 腾讯公益小程序AppID
  //     path: 'pages/index/index?scene=U1aXNbbnKf5prvs', // 可选，带scene参数
  //     extraData: {},
  //     envVersion: 'release',
  //     success(res) {
  //       // 打开成功
  //     },
  //     fail(err) {
  //       wx.showToast({ title: '跳转失败', icon: 'none' });
  //     }
  //   });
  // },
});